Reducing wasted development time via continuous testing - Software Reliability Engineering, 2003. ISSRE 2003. 14th International Symposium on
نویسندگان
چکیده
Testing is often performed frequently during development to ensure software reliability by catching regression errors quickly. However, stopping frequently to test also wastes time by holding up development progress. User studies on real development projects indicate that these two sources of wasted time account for 10–15% of development time. These measurements use a novel technique for computing the wasted extra development time incurred by a delay in discovering a regression error. We present a model of developer behavior that infers developer beliefs from developer behavior, and that predicts developer behavior in new environments — in particular, when changing testing methodologies or tools to reduce wasted time. Changing test ordering or reporting reduces wasted time by 4–41% in our case study. Changing the frequency with which tests are run can reduce wasted time by 31–82% (but developers cannot know the ideal frequency except after the fact). We introduce and evaluate a new technique, continuous testing, that uses spare CPU resources to continuously run tests in the background, providing rapid feedback about test failures as as source code is edited. Continuous testing reduced wasted time by 92–98%, a substantial improvement over the other approaches. We have integrated continuous testing into two development environments, and are beginning user studies to evaluate its efficacy. We believe it has the potential to reduce the cost and improve the efficacy of testing and, as a result, to improve the reliability of delivered systems.
منابع مشابه
Reducing wasted development time via continuous testing
Testing is often performed frequently during development to ensure software reliability by catching regression errors quickly. However, stopping frequently to test also wastes time by holding up development progress. User studies on real development projects indicate that these two sources of wasted time account for 10–15% of development time. These measurements use a novel technique for comput...
متن کاملAn Empirical Study on Testing and Fault Tolerance for Software Reliability Engineering
Software testing and software fault tolerance are two major techniques for developing reliable software systems, yet limited empirical data are available in the literature to evaluate their effectiveness. We conducted a major experiment to engage 34 programming teams to independently develop multiple software versions for an industry-scale critical flight application, and collected faults detec...
متن کاملAn Exploratory Study of Component Reliability Using Unit Testing
Using basic unit testing techniques we found 25 faults in a core component within a larger component oriented framework after the component had already started to be reused. We found that, even though this particular component had been subject to subsystem and system testing and used for some time, several faults were discovered which seriously would have affected applications using it, especia...
متن کاملMessage from Fast Abstract Chair
Welcome to the Fast Abstracts sessions of the 25th IEEE International Symposium on Software Reliability Engineering (ISSRE 2014). A fast abstract is a two-page early communication of technical work, meant to promote current work, research, practices, opinions, experiences, and issues. I would like to thank the submitting authors for choosing ISSRE 2014 for disseminating their interesting and th...
متن کاملTeaching an Active-Participation University Course in Software Reliability and Testing
A large percentage of software development costs are spent on software reliability and testing. However, many practicing software engineers and graduate students in computer science have never taken a course in software reliability or software testing. A graduate-level software engineering course at North Carolina State University provides instruction in these topics to better prepare current a...
متن کامل